#ifndef COMMON_H
#define COMMON_H
#include "../lib/OLED_SPI/bmp.h"
#include "../lib/OLED_SPI/oled.h"
#include "../lib/STC8G_H_GPIO.h"
#include "../lib/STC8G_H_NVIC.h"
#include "../lib/STC8G_H_Switch.h"
#include "../lib/STC8G_H_UART.h"
#include "../lib/STC8G_H_Delay.h"
#include "RTX51TNY.H"

extern int oled_spi_switch;
extern int oled_spi_movie1;
extern int oled_spi_movie2;
#define PERIOD   (MAIN_Fosc / 1000) // 周期
#define HZ_VALUE 50                 // 频率
#define PRE      10                 // 分频系数
// #define PERIOD (MAIN_Fosc / (PRE * HZ_VALUE)) // (PRE * HZ_VALUE) ()不能省略
#define STEER_PERIOD (MAIN_Fosc / PRE / HZ_VALUE) // 要求 HZ_VALUE * PRE >= 367
#define MAIN_TASK    0
#define UART1_TASK   1
#define UART2_TASK   2
#define OLED_SPI     3
#define DHT11_TASK   4

void uart1_gpio_init();
void uart2_gpio_init();
void oled_gpio_init();
void uart1_config();
void uart2_config();
void oled_gpio_config();
void uart1_init();
void uart2_init();
void oled_spi_init();
void uart1_deal(u8 flag_value, void (*func)());
void uart2_deal(u8 flag_value, void (*func)());
// 舵机控制
void set_angle_value(float angle);
void fan_gpio_init();
#endif // COMMON_H